package com.ssy.lingxi.platform.template.api.feign.inner;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.template.api.model.dto.inner.MemberShopDTO;
import com.ssy.lingxi.platform.template.api.model.dto.inner.MemberShopListInnerDTO;
import com.ssy.lingxi.platform.template.api.model.dto.inner.MerchantLogoInnerDTO;
import com.ssy.lingxi.platform.template.api.model.dto.inner.UpdateShopStatusDTO;
import com.ssy.lingxi.platform.template.api.model.vo.inner.MemberShopListInnerVO;
import com.ssy.lingxi.platform.template.api.model.vo.inner.MerchantLogoInnerVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;
import java.util.List;

/**
 * @menu 会员店铺 - 内部接口
 * @author fhj
 * @version 2.0.0
 * @date 2020/12/09
 */
@FeignClient(value = "platform-template-service")
public interface MemberShopInnerControllerFeign {

    @ApiOperation(value = "更新店铺")
    @PostMapping("/template/inner/memberShopInner/updateShop")
    Wrapper<?> updateShop(@RequestBody @Valid MemberShopDTO dto);

    @ApiOperation(value = "更新店铺状态（可以是一个角色的禁用与启用，也可以是一个会员下的某个角色的禁用与启用）")
    @PostMapping("/template/inner/memberShopInner/updateShopStatus")
    Wrapper<?> updateShopStatus(@RequestBody @Valid UpdateShopStatusDTO dto);

    @ApiOperation(value = "店铺列表")
    @PostMapping("/template/inner/memberShopInner/memberShopList")
    Wrapper<List<MemberShopListInnerVO>> memberShopList(@RequestBody @Valid List<MemberShopListInnerDTO> dto);

    @ApiOperation(value = "根据商城ID获取商家LOGO")
    @PostMapping("/template/inner/memberShopInner/findMerchantLogoByShopId")
    Wrapper<List<MerchantLogoInnerVO>> findMerchantLogoByShopId(@RequestBody @Valid MerchantLogoInnerDTO dto);
}
